home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / ModeProSrc.lha / Prefs / Import.c < prev    next >
C/C++ Source or Header  |  1999-02-07  |  735b  |  42 lines

  1. //#define DEBUG
  2. #include <debug.h>
  3. #include <extras/macros/intuition.h>
  4.  
  5. #include "MPP.h"
  6. #include "mppexterns.h"
  7. #include <ctype.h>
  8. #include <utility/hooks.h>
  9.  
  10. BOOL ImportFile(STRPTR FileName)
  11. {
  12.   ULONG l;
  13.   struct List ilist[NUM_LISTS];
  14.   struct Node *n;
  15.   
  16.   for(l=0;l<NUM_LISTS;l++)
  17.     NewList(&ilist[l]);
  18.   
  19.   LoadFile(ilist, FileName);
  20.  
  21.   ObtainSemaphore(&MPSem->NodeSem);
  22.   for(l=0;l<NUM_LISTS;l++)
  23.   {
  24.     while(n=RemHead(&ilist[l]))
  25.     {
  26.       if(!FindName(&MPSem->PromotionList[l],n->ln_Name))
  27.       {
  28.         /* don't add dupes */
  29.         AddTail(&MPSem->PromotionList[l],n);
  30.       }
  31.       else
  32.       {
  33.         FreeDNode(n);
  34.       }
  35.     }
  36.   }
  37.   FixScreenModeNames();
  38.   ReleaseSemaphore(&MPSem->NodeSem);
  39.   
  40.   return(1);
  41. }
  42.